package com.xxg.fileshand.viewmodel

import androidx.lifecycle.MutableLiveData
import com.blankj.utilcode.util.LogUtils
import com.xxg.fileshand.base.BaseViewModel
import com.xxg.fileshand.base.ext.dataConvert
import com.xxg.fileshand.net.ApiService

/**
 * Create by Sxl on 2023/5/18.
 */
class TestViewModel : BaseViewModel() {

    private val _testString = MutableLiveData<String>()
    val testString get() = _testString

    fun testGet() {
//        viewModelScope.launch{
//            try {
//                for (i in 0..10) {
//                    LogUtils.e("testGet: $i sssssss")
//                    try {
//                        if (i % 2 == 0) {
//                            val rp = createApi(ApiService::class.java).testUrl().dataConvert()
//                            LogUtils.e("testGet: $i ${rp.expire}")
//                            _testString.value = rp.expire!!
//                        } else {
//                            val rp = createApi(ApiService::class.java).testUrl1().dataConvert()
//                            LogUtils.e("testGet: $i ${rp.expire}")
//                            _testString.value = rp.expire!!
//                        }
//                    } catch (e: Exception) {
//                        LogUtils.e("testGet e: ${e.message}")
//                    }
//                    LogUtils.e("testGet: $i eeeeeee")
//                }
//
//            } catch (e: Exception) {
//                LogUtils.e("testGetzzz: ${e.message}")
//            }
//        }

//        viewModelScope.launch {
//            supervisorScope {
//                for (i in 0..10) {
//                    try {
//                        LogUtils.e("testGet: $i sssssss")
//                        if (i % 2 == 0) {
//                            val deferred = async {
//                                val rp = createApi(ApiService::class.java).testUrl().dataConvert()
//                                LogUtils.e("testGet: $i ${rp.expire}")
//                                _testString.value = rp.expire!!
//                            }
//                            deferred.await()
//                        } else {
//                            val deferredFail = async {
//                                val rp = createApi(ApiService::class.java).testUrl1().dataConvert()
//                                LogUtils.e("testGet: $i ${rp.expire}")
//                                _testString.value = rp.expire!!
//                            }
//                            deferredFail.await()
//                        }
//                        LogUtils.e("testGet: $i eeeeeee")
//                    } catch (e: Exception) {
//                        LogUtils.e("testGet: ${e.message}")
//                    }
//                }
//            }
//        }
        launch({
            for (i in 0..10) {
                try {
                    LogUtils.e("testGet: $i sssssss")
                    if (i % 2 == 0) {
                        val rp = createApi(ApiService::class.java).testUrl().dataConvert()
                        LogUtils.e("testGet: $i ${rp.expire}")
                        _testString.value = rp.expire!!
                    } else {
                        val rp = createApi(ApiService::class.java).testUrl1().dataConvert()
                        LogUtils.e("testGet: $i ${rp.expire}")
                        _testString.value = rp.expire!!
                    }
                    LogUtils.e("testGet: $i eeeeeee")
                } catch (e: Exception) {
                    LogUtils.e("testGet: ${e.message}")
                }
            }
        }, {
            LogUtils.e("testGet: ${it.message}")
            _testString.value = it.message
        })

    }

}